iT邦幫忙

2024 iThome 鐵人賽

DAY 7
1
DevOps

就是工商,為什麼要使用付費版 GitLab?系列 第 7

Day 7:稽核你不要來,這裡沒有什麼好查的啦~

  • 分享至 

  • xImage
  •  

今天我們來談另一類企業會想要的「付費功能」,那就是「稽核」。

在「稽核部門」的世界中,他們會檢查各種合規性,也會要求要保留各種「操作軌跡」與 Audit Log。這邊舉三個例子:

  1. 服務要能記錄「修改使用者權限」的軌跡
  2. 能查閱所有使用者擁有哪些權限,最好能匯出成報表
  3. 要能長期保存 Audit Logs 至一定的時限

在 GitLab 的功能中,上述三個需求都是「付費功能」,就讓我分別多介紹一些。

User 權限異動的歷史紀錄

在稽核的世界中,任何的「提升權限」的動作都必須有跡可循,因此 User 的「權限異動」必須被記錄下來,供未來查閱。

在 GitLab 付費功能中,即有 Group audit events 與 Project audit events 的功能。讓我們可以查看這些異動紀錄。

https://ithelp.ithome.com.tw/upload/images/20240921/20120986pSduDJZ6Cn.png

直接一覽所有 User 在各個 Group 或 Project 的 Roles。

續上,當 User、Group、Project 數量越來越多時,你會開始難以查閱到底某個 User 在不同的 Group 與 Project 分別是什麼 Role。

如果是 Self-managed GitLab,在付費等級 Premium,管理者可以利用 User Permission Export 功能,直接匯出一份 .csv

如果你不是付費等級,但又想要知道所有 User 在所有 Group 與 Project 分別是哪些 Roles?這裡提供一個免費的做法,那就是自己寫一支程式去戳好幾次 GitLab API 蒐集這些資料,再自己產出一個 Reports。

你可以先用 GitLab API 去查出你有多少 Group 與 Project,接著再用 API 分別去查 Group 與 Project 中有哪些 Members

或者,你可以先用 API 查出有多少 User,然後用 API - List user projects 去逐一列出每一個 User 是哪些 Project 的 Member。

將所有的 Audit log 匯出至其他地方備存

最後,企業的稽核部門除了會要求各家服務要紀錄各種歷史紀錄,通常他們還會要求這些歷史紀錄必須能長久保存一段時間,有些會要求備存原始 Log,有些則只需要備存 Report 即可。

而 Self-managed GitLab 在付費等級 Ultimate,提供了 Audit event streaming for instances 功能,讓管理者可以將 Audit Log 串流至其他的地方儲存,傳送出去的 Log 會被轉換成 JSON 格式,方便後續可以做其他的運用。

小結

在大企業的使用場景中,「稽核」是一塊避不了的重要功能,畢竟當員工一多,實在難保不會出現有心人偷偷的做一些不能見光的事情。

透過這類功能,管理者可以保存重要的使用軌跡與紀錄,讓企業的數位資產能夠多一道保護與檢核機制。

https://ithelp.ithome.com.tw/upload/images/20240921/20120986BJxpbOLjWS.png
圖片來源 - 吉卜力工作室 https://www.ghibli.jp/works/majo/#&gid=1&pid=29


上一篇
Day 6:GitLab 請賜給我更多的 User 權限自主權!
下一篇
Day 8:用數據來證明你導入 DevOps 是有效的!
系列文
就是工商,為什麼要使用付費版 GitLab?30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言